package com.jiang.daily.Q3350;

import java.util.List;

/**
 * @author Jiang
 * @version 1.0
 * @date 2025/10/15 10:37
 */
class Solution {
    // public int maxIncreasingSubarrays(List<Integer> nums) {
    //     int res = 1;

    //     int pre = 1; // 前一个递增子序列长度
    //     int now = 1; // 当前递增子序列长度

    //     for (int i = 1; i < nums.size(); i++) {
    //         if (nums.get(i) > nums.get(i - 1)) {
    //             now++;
    //         } else {
    //             res = Math.max(res, Math.max(Math.min(pre, now), now / 2)); // 二种可能， 第一是pre和now最小值， 第二是now序列的一半(pre / 2会在上一次比较中进行)
    //             pre = now;
    //             now = 1;
    //         }
    //     }

    //     res = Math.max(res, Math.max(Math.min(pre, now), now / 2));

    //     return res;
    // }

    public int maxIncreasingSubarrays(List<Integer> nums) {
        int res = 0;

        int pre = 0, n = nums.size();
        for (int i = 0; i < n; ) {
            int j = i + 1;
            while (j < n && nums.get(j) > nums.get(j - 1)) j++;
            int now = j - i;
            res = Math.max(res, Math.max(Math.min(pre, now), now / 2));
            pre = now;
            i = j;
        }

        return res;
    }
}
